Skip to content

docs: rewrite README for adoption; realign stated status (no bump) - #166

Merged
PrzemekGalarowicz merged 1 commit into
mainfrom
docs/readme-adoption-rewrite
Aug 23, 2026
Merged

docs: rewrite README for adoption; realign stated status (no bump)#166
PrzemekGalarowicz merged 1 commit into
mainfrom
docs/readme-adoption-rewrite

Conversation

@PrzemekGalarowicz

Copy link
Copy Markdown
Contributor

What

The README described a repository with no installer and closed with "Please do not adopt it yet", while @pharn-dev/pharn was published and working. This rewrites the root README.md to the S1–S10 adoption structure and realigns the stated status in SECURITY.md, CONTRIBUTING.md and CLAUDE.md.

No SKILLS_VERSION bump — repo-meta only, no product-surface bytes. Badge stays 2.7.14.

Verified, not inferred

npx @pharn-dev/pharn@latest init was run to completion in a scratch repo (its confirm prompt needs a TTY). It fetched from pharn-dev/pharn-oss, detected the ssr archetype, and landed the product commands, the write-gating hooks, the floor, the contracts and a pharn.config.json pinning skillsVersion 2.7.14 and commit 71e71ee.

Four claims corrected rather than restyled

Claim Why it failed
"denies any agent edit" The hook's own bounds: Bash-tool writes bypass PreToolUse entirely
"secrets screened at the plan gate" scan-plan-secrets.mjs is real floor, but runs at grill, and grillers never gate
"every write confined to its declared scope" fix #7 gates Write|Edit|MultiEdit only
"~17% lower on comprehension of code they shipped" The study measured a lab exercise; nothing was shipped. 67%→50% is 17 percentage points. The linked coinage post makes no coinage claim

The third hero guarantee survived and is now named with its checker: check-build-complete.mjscheck-verify.mjs yields INCOMPLETE for a plan-declared file the build never wrote.

The defect the loop caught in this increment

Review raised one blocking-severity finding: the build hardcoded "Thirteen grillers" / "Twenty-two review lenses" into unguarded prose that the generated CURRENT-STATE block already owns — in the increment whose own plan forbade exactly that and cited L20 and L24 for it. check-plan-lessons.mjs was GREEN before and after, exactly as documented: it verifies the declaration, never the application.

Fixed inside the increment and recorded rather than smoothed over — .dev/features/readme-adoption-rewrite/REVIEW.md, Lens 1.

Gates

  • npm run checkexit 0 (all 8 gates, 1620/1620 tests)
  • node pharn/floor/validate.mjs .FLOOR: GREEN — 36 capabilities checked in "."
  • /pharn-dev-regressno-regressions; scope partition exit 0, no escape
  • /pharn-dev-verifyPASS, failing_gates: [] across nine gates
  • Generated CURRENT-STATE block moved byte-exact (md5 unchanged), so docs:generate was never needed

Reviewer note — what the gates do NOT cover

No gate in this repo reads prose for truth. They verify formatting, byte-equality, badge agreement and tests. Every factual claim rests on the live-state discovery recorded in .dev/features/readme-adoption-rewrite/PLAN.md and on human reading. Please read the rendered README.

Known residual (not fixed here)

THREAT-MODEL.md and LIMITS.md do not land in an install, and the README now discloses it. Investigating that surfaced a separate live defect in this repo: the shipped hook still lists both in DEFAULT_PROTECTED, so a user's install denies agent writes to two root paths PHARN never installed — over-blocking their own same-named files with no compensating benefit. Out of axis here; a scoped increment prompt for it is drafted.

🤖 Generated with Claude Code

https://claude.ai/code/session_019LozSBkwtGWc1Rz5Ufv8yj

The README described a repository with no installer and closed with "Please
do not adopt it yet", while @pharn-dev/pharn was published and working.
Verified by running it rather than inferring: `npx @pharn-dev/pharn@latest
init` detected the ssr archetype and installed the product commands, the
write-gating hooks, the floor, the contracts and a pinned pharn.config.json.

Four claims corrected against live state rather than restyled:

- "denies any agent edit" — not defensible; the hook's own bounds state that
  Bash-tool writes bypass PreToolUse entirely. Now stated with its bound.
- "secrets screened at the plan gate" — scan-plan-secrets.mjs is genuine
  floor, but runs at grill, and grillers never gate. Restated as detection
  that surfaces, not a gate.
- "every write confined to its declared scope" — fix #7 gates
  Write|Edit|MultiEdit only. Restated with that surface named.
- the comprehension-debt and RCT citations — the linked post makes no coinage
  claim and credits prior work; the study measured a lab exercise in which
  nothing was shipped (50% vs 67%), so "~17% lower on code they shipped" was
  wrong in both halves. Coinage attribution dropped, number no longer cited.

The third hero guarantee survived and is now named with its checker:
check-build-complete.mjs feeding check-verify.mjs yields INCOMPLETE for a
plan-declared file the build never wrote.

Review caught one blocking-severity defect, fixed inside the increment: the
build hardcoded two capability counts into unguarded prose that the generated
CURRENT-STATE block already owns — in the increment whose plan forbade
exactly that and cited L20/L24. See .dev/features/readme-adoption-rewrite/
REVIEW.md Lens 1; check-plan-lessons.mjs was GREEN throughout, as documented
(it verifies the declaration, never the application).

No SKILLS_VERSION bump: repo-meta only, no product-surface bytes.
Gates: npm run check exit 0; FLOOR GREEN (36 capabilities); regress
no-regressions; verify PASS across nine gates.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LozSBkwtGWc1Rz5Ufv8yj
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7a8a1b44-df64-48ce-bcb9-dc71c4ddb7bd


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@PrzemekGalarowicz
PrzemekGalarowicz merged commit f7c3caa into main Aug 23, 2026
8 checks passed
@PrzemekGalarowicz
PrzemekGalarowicz deleted the docs/readme-adoption-rewrite branch August 23, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant